<template>
	<div class="my-tab-bar">
		<div class="tab-item" :class="{current:activeIndex === index}" @click="btn(index,item.componentName)" v-for="(item,index) in arr" :key="index">
			<!-- 图标 -->
			<span class="iconfont" :class="item.iconText"></span>
			<!-- 文字 -->
			<span > {{ item.text }} </span>
		</div>
	</div>
</template>

<script>
// 父传子，接收数据，用于展示底部导航
	export default {
		data(){
			return{
				activeIndex:0,//选中的导航下标，默认为0，第一个导航高亮
			}
		},
		props:{
			arr:{
				type:Array,
				required:true,
				// 还需要额外的校验--自定义校验规则
				validator(value){
					console.log(value);
				// 对接收到的数组做限制
					if(value.length >= 2 && value.length <= 5){
						return true //表示校验通过
					}else{
						return false //表示校验不通过
					}
				}
			}
		},
		methods:{
			btn(id,comName){
				this.activeIndex = id
				this.$emit('changeName',comName)
				console.log(comName);
			}
		}
	}
</script>

<style lang="less" scoped>
	.my-tab-bar {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 50px;
		border-top: 1px solid #ccc;
		display: flex;
		justify-content: space-around;
		align-items: center;
		background-color: white;

		.tab-item {
			display: flex;
			flex-direction: column;
			align-items: center;
			cursor: pointer;
		}
	}

	.current {
		color: #1d7bff;
	}
</style>
